﻿using Microsoft.Reporting.WinForms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace TestReport.NewFolder1
{
    public partial class Report : Form
    {
        public Report(ReportDataSource cicliAvarieSource, ReportDataSource cicliDettaglioSource, ReportDataSource altreLavorazioniSource)
        {
            InitializeComponent();
            this.reportViewer1.LocalReport.DataSources.Clear();
            this.reportViewer1.LocalReport.DataSources.Add(cicliAvarieSource);
            this.reportViewer1.LocalReport.DataSources.Add(cicliDettaglioSource);
            this.reportViewer1.LocalReport.DataSources.Add(altreLavorazioniSource);
        }

        private void Report_Load(object sender, EventArgs e)
        {
            ReportParameter par1, par2, par3, par4, par5, par6, par7, par8, par9, par10, par11, par12, par13, par14, par27, par28, parM, parI, ParK, ParNA, parR1, ParN, ParDataEtichetta, ParIF2, ParAll4, ParM40, ParDataD, Par3ME;
            ReportParameter ParODL, ParMatricolaCarro, ParTipoCarro, ParCliente, ParSerieCarro, ParNoleggiatario, ParDataCheckIn, ParLuogoIntervento, ParDataInizioRiparazione, parIF1, ParRev, ParOff, ParDataRev, ParRev3MSi, ParRev3MNo, ParWartung, ParRevisione, ParTipoRevisione;

            // TESTATA
            ParODL = new ReportParameter("ParODL", "blablabla");
            ParMatricolaCarro = new ReportParameter("ParMatricolaCarro", "blablabla");
            ParTipoCarro = new ReportParameter("ParTipoCarro", "blablabla");
            ParCliente = new ReportParameter("ParCliente", "blablabla");
            ParSerieCarro = new ReportParameter("ParSerieCarro", "blablabla");
            ParNoleggiatario = new ReportParameter("ParNoleggiatario", "blablabla");

            String dataCheckin = "10/10/2014";
            if (dataCheckin != null && dataCheckin.Length > 11)
            {
                dataCheckin = dataCheckin.Substring(0, 11);
            }
            ParDataCheckIn = new ReportParameter("ParDataCheckIn", dataCheckin);
            ParLuogoIntervento = new ReportParameter("ParLuogoIntervento", "blablabla");
            String dataInizioRiparazione = "10/10/2014";
            if (dataInizioRiparazione != null && dataInizioRiparazione.Length > 11)
            {
                dataInizioRiparazione = dataInizioRiparazione.Substring(0, 11);
            }
            ParDataInizioRiparazione = new ReportParameter("ParDataInizioRiparazione", dataInizioRiparazione);
            parIF1 = new ReportParameter("ParEtichettaIF1", "123");
            ParRev = new ReportParameter("ParRev", "blab");
            ParOff = new ReportParameter("ParOff", "blab");
            string parDataRec = "10/10/2014";
            if (parDataRec != null && parDataRec.Length > 11)
            {
                parDataRec = parDataRec.Substring(0, 11);
            }
            ParDataRev = new ReportParameter("ParDataRev", parDataRec);
            ParRev3MSi = new ReportParameter("ParRev3MSi", "X");
            ParRev3MNo = new ReportParameter("ParRev3MNo", "");

            par1 = new ReportParameter("ParCodiceOrgani1", "123");
            par2 = new ReportParameter("ParCodiceOrgani2", "123");
            par3 = new ReportParameter("ParCodiceOrgani3", "123");
            par4 = new ReportParameter("ParCodiceOrgani4", "123");
            par5 = new ReportParameter("ParCodiceOrgani5", "123");
            par6 = new ReportParameter("ParCodiceOrgani6", "123");
            par7 = new ReportParameter("ParCodiceOrgani7", "123");
            par8 = new ReportParameter("ParCodiceOrgani8", "123");
            par9 = new ReportParameter("ParCodiceOrgani9", "123");
            par10 = new ReportParameter("ParCodiceOrgani10", "123");
            par11 = new ReportParameter("ParCodiceOrgani11", "123");
            par12 = new ReportParameter("ParCodiceOrgani12", "123");
            par13 = new ReportParameter("ParCodiceOrgani13", "123");
            par14 = new ReportParameter("ParCodiceOrgani14", "123");
            par27 = new ReportParameter("ParCodiceOrgani27", "123");
            par28 = new ReportParameter("ParCodiceOrgani28", "123");

            parM = new ReportParameter("ParM", "X");
            parI = new ReportParameter("ParI", "X");
            ParK = new ReportParameter("ParK", "X");
            ParNA = new ReportParameter("ParNA", "X");
            parR1 = new ReportParameter("ParR1", "X");
            ParN = new ReportParameter("ParN", "X");

            string parDataEtichetaValue = "10/10/2014";
            ParDataEtichetta = new ReportParameter("ParDataEtichetta", parDataEtichetaValue);

            ParIF2 = new ReportParameter("ParIF2", "blablabla");
            ParAll4 = new ReportParameter("ParAll4", "X");
            ParM40 = new ReportParameter("ParM40", "X");

            string parDataDValue = "10/10/2014";
            if (parDataDValue != null && parDataDValue.Length > 11)
            {
                parDataDValue = parDataDValue.Substring(0, 11);
            }
            ParDataD = new ReportParameter("ParDataD", parDataDValue);

            ParWartung = new ReportParameter("ParWartung", "X");
            ParRevisione = new ReportParameter("ParRevisione", "X");
            Par3ME = new ReportParameter("Par3ME", "X");
            ParTipoRevisione = new ReportParameter("ParTipoRevisione", "blablabla");

            this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { ParODL, ParMatricolaCarro, ParTipoCarro, ParCliente, ParSerieCarro, ParNoleggiatario, ParDataCheckIn, ParLuogoIntervento, ParDataInizioRiparazione, parIF1, ParRev, ParOff, ParDataRev, ParRev3MSi, ParRev3MNo });
            this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { par1, par2, par3, par4, par5, par6, par7, par8, par9, par10, par11, par12, par13, par14, par27, par28, parM, parI, ParNA, parR1, ParN, ParDataEtichetta, ParIF2, ParAll4, ParM40, ParDataD, ParWartung, ParRevisione, ParTipoRevisione, Par3ME });
            this.reportViewer1.RefreshReport();
        }
    }
}
